package com.canxi.user.domain.bo;

import com.canxi.common.core.validate.AddGroup;
import com.canxi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import com.canxi.common.core.domain.BaseEntity;


/**
 * 用来保存三方相关的配置文件业务对象 cx_config
 *
 * @author ruoyi
 * @date 2024-08-26
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class CxConfigBo extends BaseEntity {

    /**
     * id
     */
    @NotBlank(message = "id不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 微信id
     */
    @NotBlank(message = "微信id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String wid;

    /**
     * 类型,0.网页,1,安卓,2,ios,3.小程序,4,公众号
     */
    @NotBlank(message = "类型,0.网页,1,安卓,2,ios,3.小程序,4,公众号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    /**
     * 身份标识
     */
    @NotBlank(message = "身份标识不能为空", groups = { AddGroup.class, EditGroup.class })
    private String appid;

    /**
     * 身份密钥
     */
    @NotBlank(message = "身份密钥不能为空", groups = { AddGroup.class, EditGroup.class })
    private String secret;

    /**
     * 配制token
     */
    @NotBlank(message = "配制token不能为空", groups = { AddGroup.class, EditGroup.class })
    private String token;

    /**
     * aeskey
     */
    @NotBlank(message = "aeskey不能为空", groups = { AddGroup.class, EditGroup.class })
    private String aeskey;

    /**
     * 是否已支付，用于需要支付才可以使用的场景
     */
    @NotBlank(message = "是否已支付，用于需要支付才可以使用的场景不能为空", groups = { AddGroup.class, EditGroup.class })
    private String isPay;

    /**
     * 商户号
     */
    @NotBlank(message = "商户号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String partner;

    /**
     * 支付密钥
     */
    @NotBlank(message = "支付密钥不能为空", groups = { AddGroup.class, EditGroup.class })
    private String partnerKey;

    /**
     * 是否使用
     */
    @NotBlank(message = "是否使用不能为空", groups = { AddGroup.class, EditGroup.class })
    private String isused;

    /**
     * 回调地址
     */
    @NotBlank(message = "回调地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String redirectUrl;

    /**
     * apiv3key
     */
    @NotBlank(message = "apiv3key不能为空", groups = { AddGroup.class, EditGroup.class })
    private String apivkey;

    /**
     * keypath
     */
    @NotBlank(message = "keypath不能为空", groups = { AddGroup.class, EditGroup.class })
    private String lkeyPath;

    /**
     * privateKeyPath
     */
    @NotBlank(message = "privateKeyPath不能为空", groups = { AddGroup.class, EditGroup.class })
    private String privateKeyPath;

    /**
     * 本地privateCertPath
     */
    @NotBlank(message = "本地privateCertPath不能为空", groups = { AddGroup.class, EditGroup.class })
    private String lprivateCertPath;

    /**
     * privateCertPath
     */
    @NotBlank(message = "privateCertPath不能为空", groups = { AddGroup.class, EditGroup.class })
    private String privateCertPath;

    /**
     * cert_serial_no
     */
    @NotBlank(message = "cert_serial_no不能为空", groups = { AddGroup.class, EditGroup.class })
    private String certSerialNo;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;

    /**
     * 公钥
     */
    @NotBlank(message = "公钥不能为空", groups = { AddGroup.class, EditGroup.class })
    private String privateKey;

    /**
     * 私钥
     */
    @NotBlank(message = "私钥不能为空", groups = { AddGroup.class, EditGroup.class })
    private String publicKey;

    /**
     * 签名方式
     */
    @NotBlank(message = "签名方式不能为空", groups = { AddGroup.class, EditGroup.class })
    private String signType;


}
